Important: kernel security and bug fix update

Related Vulnerabilities: CVE-2012-0217   CVE-2012-1583   CVE-2012-1583   CVE-2012-0217   CVE-2012-1583   CVE-2012-0217  

Synopsis

Important: kernel security and bug fix update

Type/Severity

Security Advisory: Important

Topic

Updated kernel packages that fix two security issues and multiple bugs are
now available for Red Hat Enterprise Linux 5.6 Extended Update Support.

The Red Hat Security Response Team has rated this update as having
important security impact. Common Vulnerability Scoring System (CVSS) base
scores, which give detailed severity ratings, are available for each
vulnerability from the CVE links in the References section.

[Updated 19th June 2012]
The original erratum text provided an incorrect description for BZ#807929.
The text has been updated to provide the correct description. No changes
have been made to the packages.

Description

The kernel packages contain the Linux kernel, the core of any Linux
operating system.

This update fixes the following security issues:

  • It was found that the Xen hypervisor implementation as shipped with Red
    Hat Enterprise Linux 5 did not properly restrict the syscall return
    addresses in the sysret return path to canonical addresses. An
    unprivileged user in a 64-bit para-virtualized guest, that is running on a
    64-bit host that has an Intel CPU, could use this flaw to crash the host
    or, potentially, escalate their privileges, allowing them to execute
    arbitrary code at the hypervisor level. (CVE-2012-0217, Important)

Note: For Red Hat Enterprise Linux guests, only privileged guest users can
exploit CVE-2012-0217.

  • A flaw in the xfrm6_tunnel_rcv() function in the Linux kernel's IPv6
    implementation could lead to a use-after-free or double free flaw in
    tunnel6_rcv(). A remote attacker could use this flaw to send
    specially-crafted packets to a target system that is using IPv6 and also
    has the xfrm6_tunnel kernel module loaded, causing it to crash.
    (CVE-2012-1583, Important)

If you do not run applications that use xfrm6_tunnel, you can prevent the
xfrm6_tunnel module from being loaded by creating (as the root user) a
"/etc/modprobe.d/xfrm6_tunnel.conf" file, and adding the following line to
it:

blacklist xfrm6_tunnel

This way, the xfrm6_tunnel module cannot be loaded accidentally. A reboot
is not necessary for this change to take effect.

Red Hat would like to thank the Xen project for reporting CVE-2012-0217.
Upstream acknowledges Rafal Wojtczuk as the original reporter of
CVE-2012-0217.

This update also fixes the following bugs:

  • A bug in the vsyscall interface caused 32-bit multi-threaded programs,
    which received the SIGCANCEL signal right after they returned from a system
    call, to terminate unexpectedly with a segmentation fault when run on the
    AMD64 or Intel 64 architecture. A patch has been provided to address this
    issue and the crashes no longer occur in the described scenario.
    (BZ#807929)
  • Incorrect duplicate MAC addresses were being used on a rack network
    daughter card that contained a quad-port Intel I350 Gigabit Ethernet
    Controller. With this update, the underlying source code has been modified
    to address this issue, and correct MAC addresses are now used under all
    circumstances. (BZ#813195)
  • When the Fibre Channel (FC) layer sets a device to "running", the layer
    also scans for other new devices. Previously, there was a race condition
    between these two operations. Consequently, for certain targets, thousands
    of invalid devices were created by the SCSI layer and the udev service.
    This update ensures that the FC layer always sets a device to "online"
    before scanning for others, thus fixing this bug.

Additionally, when attempting to transition priority groups on a busy FC
device, the multipath layer retried immediately. If this was the only
available path, a large number of retry operations were performed in a
short period of time. Consequently, the logging of retry messages slowed
down the system. This bug has been fixed by ensuring that the DM Multipath
feature delays retry operations in the described scenario. (BZ#816683)

  • Due to incorrect use of the list_for_each_entry_safe() macro, the
    enumeration of remote procedure calls (RPCs) priority wait queue tasks
    stored in the tk_wait.links list failed. As a consequence, the
    rpc_wake_up() and rpc_wake_up_status() functions failed to wake up all
    tasks. This caused the system to become unresponsive and could
    significantly decrease system performance. Now, the
    list_for_each_entry_safe() macro is no longer used in rpc_wake_up(),
    ensuring reasonable system performance. (BZ#817570)

Users should upgrade to these updated packages, which contain backported
patches to correct these issues. The system must be rebooted for this
update to take effect.

Solution

Before applying this update, make sure all previously-released errata
relevant to your system have been applied.

This update is available via the Red Hat Network. Details on how to
use the Red Hat Network to apply this update are available at
https://access.redhat.com/knowledge/articles/11258

To install kernel packages manually, use "rpm -ivh [package]". Do not
use "rpm -Uvh" as that will remove the running kernel binaries from
your system. You may use "rpm -e" to remove old kernels after
determining that the new kernel functions properly on your system.

Affected Products

  • Red Hat Enterprise Linux Server - Extended Update Support 5.6 x86_64
  • Red Hat Enterprise Linux Server - Extended Update Support 5.6 ia64
  • Red Hat Enterprise Linux Server - Extended Update Support 5.6 i386
  • Red Hat Enterprise Linux Server - Extended Update Support from RHUI 5.6 x86_64
  • Red Hat Enterprise Linux Server - Extended Update Support from RHUI 5.6 i386
  • Red Hat Enterprise Linux Server - AUS 5.6 x86_64
  • Red Hat Enterprise Linux Server - AUS 5.6 ia64
  • Red Hat Enterprise Linux Server - AUS 5.6 i386
  • Red Hat Enterprise Linux for IBM z Systems - Extended Update Support 5.6 s390x
  • Red Hat Enterprise Linux for Power, big endian - Extended Update Support 5.6 ppc

Fixes

  • BZ - 752304 - CVE-2012-1583 kernel: ipv6: panic using raw sockets
  • BZ - 813428 - CVE-2012-0217 kernel: x86-64: avoid sysret to non-canonical address
  • BZ - 817570 - Fix RPC priority queue wake up all tasks processing [rhel-5.6.z]

CVEs

References